#ifndef TEST_SCHEME_KEY_GEN_H_
#define TEST_SCHEME_KEY_GEN_H_

#include "scheme.h"

/**
 * @brief 用于测试密钥生成时间的特殊 Scheme 类
 */
class TestSchemeKeyGen : public Scheme {
public:
    /**
     * @brief 构造函数，只初始化context而不生成密钥
     * @param context 加密参数和操作函数的上下文对象
     */
    TestSchemeKeyGen(Context &context);
    
    /**
     * @brief 生成并添加公钥，用于单独测试公钥生成时间
     * @param secretKey 用于生成公钥的私钥对象
     */
    void GenerateEncKey(SecretKey &secretKey);
    
    /**
     * @brief 生成并添加乘法密钥，用于单独测试乘法密钥生成时间
     * @param secretKey 用于生成乘法密钥的私钥对象
     */
    void GenerateMultKey(SecretKey &secretKey);
};

#endif // TEST_SCHEME_KEY_GEN_H_